pub mod vectory {

    pub fn check_vec() -> i32 {
        let mut vd = vec![20,30,40,50];
        println!("vec data is ");
        for i in &mut vd {
            *i += 20;
            print!("{},", i);
        }
        32
    }


    pub struct Queue<T> {
        size: usize,
        data: Vec<T>,
    }

    impl<T> Queue<T> {

        pub fn new(cap: usize) -> Self {
            Queue {
                size: cap,
                data: Vec::with_capacity(cap),
            }
        }

        pub fn pop(&mut self) -> Option<T> {
            self.data.pop()
        }

        pub fn push(&mut self, d: T) -> bool {
            if self.data.len() == self.size {
                return false;
            }
            self.data.push(d);
            true
        }

        pub fn size(&self) -> usize {
            self.data.len()
        }

        pub fn peek(&self) -> Option<T> {
            
        }
    }
}